#add_definitions(-DDEBUG)
add_definitions(-DBOOST_ALL_NO_LIB)
add_definitions(-DBOOST_NO_STD_WSTRING)
set(BoostRoot ../../requiredPackage/boost_1_38_0)
include_directories(${BoostRoot})

set (Boost_FileSystem_src
	${BoostRoot}/libs/filesystem/src/operations.cpp 
	${BoostRoot}/libs/filesystem/src/path.cpp 
	${BoostRoot}/libs/filesystem/src/portability.cpp 
	${BoostRoot}/libs/filesystem/src/utf8_codecvt_facet.cpp
	 )
set (Boost_System_src
	${BoostRoot}/libs/system/src/error_code.cpp 
	 )	 
set (Boost_ProgramOptions_src
	${BoostRoot}/libs/program_options/src/cmdline.cpp 
	${BoostRoot}/libs/program_options/src/config_file.cpp 
	${BoostRoot}/libs/program_options/src/options_description.cpp 
	${BoostRoot}/libs/program_options/src/parsers.cpp 
	${BoostRoot}/libs/program_options/src/variables_map.cpp 
	${BoostRoot}/libs/program_options/src/value_semantic.cpp 
	${BoostRoot}/libs/program_options/src/positional_options.cpp 
	${BoostRoot}/libs/program_options/src/utf8_codecvt_facet.cpp 
	${BoostRoot}/libs/program_options/src/convert.cpp 
	${BoostRoot}/libs/program_options/src/winmain.cpp
	 )	 

set (Boost_Serialization_src
	${BoostRoot}/libs/serialization/src/basic_archive.cpp
	${BoostRoot}/libs/serialization/src/basic_iarchive.cpp
	${BoostRoot}/libs/serialization/src/basic_iserializer.cpp
	${BoostRoot}/libs/serialization/src/basic_oarchive.cpp
	${BoostRoot}/libs/serialization/src/basic_oserializer.cpp
	${BoostRoot}/libs/serialization/src/basic_pointer_iserializer.cpp
	${BoostRoot}/libs/serialization/src/basic_pointer_oserializer.cpp
	${BoostRoot}/libs/serialization/src/basic_serializer_map.cpp
	${BoostRoot}/libs/serialization/src/basic_text_iprimitive.cpp
	${BoostRoot}/libs/serialization/src/basic_text_oprimitive.cpp
	${BoostRoot}/libs/serialization/src/basic_xml_archive.cpp
	${BoostRoot}/libs/serialization/src/binary_iarchive.cpp
	${BoostRoot}/libs/serialization/src/binary_oarchive.cpp
	${BoostRoot}/libs/serialization/src/extended_type_info.cpp
	${BoostRoot}/libs/serialization/src/extended_type_info_typeid.cpp
	${BoostRoot}/libs/serialization/src/extended_type_info_no_rtti.cpp
	${BoostRoot}/libs/serialization/src/polymorphic_iarchive.cpp
	${BoostRoot}/libs/serialization/src/polymorphic_oarchive.cpp
	${BoostRoot}/libs/serialization/src/stl_port.cpp
	${BoostRoot}/libs/serialization/src/text_iarchive.cpp
	${BoostRoot}/libs/serialization/src/text_oarchive.cpp
	${BoostRoot}/libs/serialization/src/void_cast.cpp
	${BoostRoot}/libs/serialization/src/xml_grammar.cpp
	${BoostRoot}/libs/serialization/src/xml_iarchive.cpp
	${BoostRoot}/libs/serialization/src/xml_oarchive.cpp
	 )	 
if (WIN32)
	add_definitions(-DBOOST_THREAD_BUILD_DLL)
	set (Boost_Thread_src
		${BoostRoot}/libs/thread/src/win32/thread.cpp 
		${BoostRoot}/libs/thread/src/win32/exceptions.cpp
		${BoostRoot}/libs/thread/src/win32/tss_dll.cpp
		${BoostRoot}/libs/thread/src/win32/tss_pe.cpp
	 )
else (WIN32)
	set (Boost_Thread_src
		${BoostRoot}/libs/thread/src/pthread/thread.cpp
		${BoostRoot}/libs/thread/src/pthread/exceptions.cpp
		${BoostRoot}/libs/thread/src/pthread/once.cpp
	 )
endif (WIN32)

add_library ( boostLibs 
	${Boost_FileSystem_src}
	${Boost_System_src} 
	${Boost_ProgramOptions_src} 
	${Boost_Serialization_src}
	${Boost_Thread_src}
	)
